package com.ciei.dpagm.common.enums;

import com.baomidou.mybatisplus.annotation.EnumValue;
import com.ciei.dpagm.util.EnumUtil;

/**
 * 参数数据类型枚举
 * @author wy
 * @date 2023/04/03
 */
public enum ParameterDataTypeEnum {
    /**
     * 字符串
     */
    STRING(1,"String"),
    /**
     * 对象
     */
    OBJECT(2,"JSONObject"),
    /**
     * 数组
     */
    ARRAY(3,"JSONArray");



    /**
     * 类型ID
     */
    @EnumValue
    private Integer typeId;
    /**
     * 类型名称
     */
    private String typeName;

    public static ParameterDataTypeEnum typeValueOf(Integer typeId) {
        return EnumUtil.getEnumObject(ParameterDataTypeEnum.class, e -> e.getTypeId().equals(typeId)).orElse(null);
    }

    ParameterDataTypeEnum(Integer typeId, String typeName) {
        this.typeId = typeId;
        this.typeName = typeName;
    }

    public Integer getTypeId() {
        return typeId;
    }

    public String getTypeName() {
        return typeName;
    }
}
